A digital assistant is a computer system component (such as a combination of software and the hardware that the software runs on) that receives natural language input and responds with natural language responses in a dialog. Digital assistants typically can also perform non-dialog actions in response to natural language input commands, such as starting a computer application in response to such a command or providing Web search results in response to such a command.
Currently, when a user engages a digital assistant for a session between the digital assistant and that user's computer-readable profile, the user typically says a key phrase, such as an audible speech phrase that is picked up by a microphone in a device in which the digital assistant is active, or provides a tactile input to a device. Other approaches such as attention-based engagement models have been proposed that build models of where people are attending and apply them to predict engagement. In other applications such as commerce or security, proximity-based services have been deployed.